package com.zhm.demo.json;

import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import net.minidev.json.JSONArray;


public class JsonPathE {
    public static void main(String[] args) {
        String json = "{\"store\":{\"book\":[{\"category\":\"reference\",\"author\":\"Nigel Rees\",\"title\":\"Sayings of the Century\",\"price\":8.95},{\"category\":\"fiction\",\"author\":\"Evelyn Waugh\",\"title\":\"Sword of Honour\",\"price\":12.99}],\"bicycle\":{\"color\":\"red\",\"price\":19.95}},\"expensive\":10}";

        // 使用JSONPath表达式查询所有书名
        DocumentContext document = JsonPath.parse(json);
        JSONArray bookTitles = document.read("$.store.book[*].title");
        System.out.println(bookTitles); // 输出将是包含所有书名的数组或列表

        // 使用JSONPath表达式查询第一本书的价格
        Double firstBookPrice = document.read( "$.store.book[0].price");
        System.out.println(firstBookPrice); // 输出第一本书的价格

        // 使用过滤器查询价格大于10的书名
        Object expensiveBookTitles = document.read( "$.store.book[?(@.price > 10)].title");
        System.out.println(expensiveBookTitles); // 输出价格大于10的书名的数组或列表

    }
}
